package com.sky.annotation;

import com.sky.enumeration.OperationType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自定义注解 用于标识某个方法需要进行功能字段自动填充处理
 */
// 表示该注解用于方法上
@Target(ElementType.METHOD)
//SOURCE 注解只在写代码时有用，编译后就消失了
//CLASS 注解在编译后的.class文件中还有，但运行时通过反射找不到；
//而 RUNTIME 注解不仅在编译后的.class文件中存在，运行时还能通过反射被访问到。
@Retention(RetentionPolicy.RUNTIME)
public @interface AutoFill {
    //数据库操作类型: INSERT,UPDATE
    OperationType value();
}
